Many different types of memory devices are used to read and write media data for various computers and similar systems. Decoding high resolution media data is a primary memory bandwidth consumer for a System-on-Chip (SoC). In particular, memory bandwidth for SoCs is often the bottleneck that limits expansion of system use. As such, increasing efficiency of memory bandwidth usage for both compression encoders that write media data to memory and compression decoders that read media data from memory is a common target for improving system performance.
Memory bandwidth refers to a rate at which data can be read from or written to (stored in) memory devices, such dynamic random access memory (DRAM) devices, static random memory (SRAM) devices, electrically erasable read only memory (EEPROM), NOR flash memory, NAND flash memory, and so on. Memory bandwidth is commonly expressed in units of bytes per second for systems implementing 8-bit bytes.
Approaches to increasing efficiency of a system's memory bandwidth usage include applying transforms to media data followed by entropy coding the transformed media data. However, these approaches remain inefficient and there is a desire to reduce memory bandwidth used when writing media data to, or reading media data from, system memory.